| name | score1 | score2 |
|---|---|---|
| Alice | 90 | 54 |
| Bob | 85 | 20 |
| Charlie | 88 | 60 |
Main body
Markdown syntax (there is a cheat sheet);
generally plain text format but there are WYSIWYM options (e.g. RStudio Visual Editor).
2025-08-06
During each admissions cycle, tutors look at the application cohort, e.g.
number and sociodemographic profile of applicants;
distribution of admissions measures by characteristics of interest (gender, deprivation status, schooling);
comparisons with previous years and/or across the university.
Ca. 40 descriptive statistics reports are produced each year:
Image from https://www.csmemes.io/memes/copy-paste
Can the workflow be made more efficient?
What parts of the workflow can be automated?
Report is parameterised (e.g. input database, UCAS cycle, document style, repetitive footnote string, characteristic of interest);
one-click update at database change (e.g. bug fixes);
one analysis, multiple formats (e.g. pdf output; links colour; missing data display);
possible to include executable analysis code, so all numbers are reproducible;
cross-referencing, interactive graphs, integration with R, Python, LaTeX…
.qmd file;.css files)..html: interactive and good for complex structure;.pdf: print-ready;.docx: for collaboration.--- to start and end the YAML block.---
title: "Quarto: a very short introduction"
author: "Iryna Schlackow; SDI/EPS"
date: "06 August 2025"
format:
revealjs: # output is .html slides
smaller: true # scale down default fonts
css: styles.css # further adjustments of the default style
slide-number: "c/t" # slide numbering
embed-resources: true # embed all figures so that .html can be shared
code-copy: true # add button for copying code
code-block-bg: "#d0dff2" # style of coding blocks
code-block-border-left: "#002147"
highlight-style: github
execute: # code execution options to prevent unwanted messages
echo: false
warning: false
message: false
fig-cap-location: top # figure captions above
tbl-cap-location: top # table captions above
---Markdown syntax (there is a cheat sheet);
generally plain text format but there are WYSIWYM options (e.g. RStudio Visual Editor).
also text in bold and italic, and
numbered items
data <- data.frame(
name = c("Alice", "Bob", "Charlie"),
score = c(90, 85, 88),
score2 = c(54, 20, 60))
kable(data, caption = "PAT scores")| name | score1 | score2 |
|---|---|---|
| Alice | 90 | 54 |
| Bob | 85 | 20 |
| Charlie | 88 | 60 |
data <- data.frame(
name = c("Alice", "Bob", "Charlie"),
score = c(90, 85, 88))
kable(data, caption = "PAT scores") %>%
kable_styling(bootstrap_options = c("striped", "hover", "responsive", "condensed")) %>%
row_spec(0, bold = TRUE, color = "white", background = "#002147") %>%
add_header_above(c(" " = 1, "PAT score" = 2)) %>%
pack_rows("Female students", 1, 1) %>%
pack_rows("Male students", 2, 3)
PAT score
|
||
|---|---|---|
| name | score1 | score2 |
| Female students | ||
| Alice | 90 | 54 |
| Male students | ||
| Bob | 85 | 20 |
| Charlie | 88 | 60 |
# We can do numbered sections {#sec-numbered}
## With numbered subsection {#sec-numbered-subsection}
{#fig-rewley}
See @fig-rewley from @sec-numbered-subsection for the buildings near the University Offices.
# AND we can do unnumbered sections! {.unnumbered}::: {.panel-tabset}
##### First tab
This is in the first tab.
##### Second tab
This is in the second tab. We can also add graphs and tables here. And even write inline $\exp^{\textrm{i}\pi} = -1$ and displaymath $\LaTeX$ equations $$\sum_{i=1}^\infty \frac{1}{i^2} = \frac{\pi^2}{6}.$$
:::Which looks like this:
This is in the first tab.
This is in the second tab. We can also add graphs and tables here. And even write inline \(\exp^{\textrm{i}\pi} = -1\) and displaymath \(\LaTeX\) equations \[\sum_{i=1}^\infty \frac{1}{i^2} = \frac{\pi^2}{6}.\]
Penguin dashboard; courtesy of Craig Smith & Connair Russell-Wilks (UAO).
%>% or +.dataset %>% filter(...) %>% mutate(...) %>% summarise(...)
knitr::kable() %>% kable_styling() %>% add_header_above()
ggplot(data, aes(...)) + geom_point() + facet_wrap() + theme_minimal()